package com.java.lesson.lesson1;

public class Lesson12 {
    //类变量：加上关键字static
    //类变量是从水属于这个类的，会随着这个类一起出来和消失。
    static double saLary = 2500;
    //--------------------------------数据类型---------------------------------------------------------------
    char test1 = 'x';                      //变量类型被定义为单一字符
    String test2 = "hello world";          //变量类型被定义为引用数据
    int test3 = 1;                    //变量类型被定义为整数
    long test4 = 2L;                  //变量类型被定义为长整数
    float test5 = 1.3f;                    //变量类型被定义为浮点数
    double test6 = 2.3;                    //变量类型被定义为默认浮点数
    boolean test7 = true;
    //--------------------------------类型转换-------------------------------------------------------------
    byte a = 12;          //自动类型转换
    int b = a;            //byte → short → int → long → float → double
    //        char → int
    int c = 20;
    byte d = (byte) c;     //强制类型转换（大 赋给 小）
    int a1 = 200;
    //输出值为-56
    //原因为200超过了byte的数据范围，发生了内存溢出的现象，所以在发生强制转换之后的输出值为负数。
    byte b1 = (byte) a;
    float c1 = 3.14F;
    //此时的输出值为3
    //因为在强制转换的时候float->int会发生精度丢失的问题，所以最后的输出值为3而不是3.14。
    int d1 = (int) c1;
    //实例变量：写在方法的外面，类得 里面。从属于对象或者是从属于这个类，要通过这个类才能使用它，可以不设置初始值
    String name;
    int age;

    //主程序的方法或者是叫main方法
    public static void main(String[] args) {
        //局部变量是写在方法里面的，只对这个方法负责，跳出方法之外就不能被使用
        //所有的局部变量必须声明和设置初始值
        int i = 10;

        int t1 = 10;
        System.out.println(t1);//10
        int t3 = ++t1;
        System.out.println(t1);//11
        System.out.println(t3);//11

        int t2 = 10;
        System.out.println(t2);//10
        int t4 = t2++;
        System.out.println(t2);//11
        System.out.println(t4);//10


    }

}
